The present invention relates to a method and apparatus for arbitrating between requests from various sources for access to a shared resource, particularly, although not exclusively, memory in a computer system.
Known arbitration schemes for memory access frequently operate on the basis of granting access to the first received request or according to a fixed priority scheme wherein a request from one source always has priority over a request from another source.
The primary problem with such schemes is that, when incorporated in an integrated circuit, they cannot thereafter be changed. Further, they are inflexible in the sense that they do not take account of whereas some sources may be accorded a high priority but only require a small amount of memory, other sources with another priority may have a need for a greater number of memory accesses, i.e. a greater memory "bandwidth". It is an object of the present invention to overcome or at least reduce these problems.